''' <summary>
''' El Listener permite quedarse a la escucha de un puerto y generar diferentes eventos.
''' </summary>
Public Interface Listener
    ''' <summary>
    ''' Puerto al cual escuchar
    ''' </summary>
    ''' <value>Integer</value>
    ''' <returns>Integer</returns>
    Property port() As Integer
    ''' <summary>
    ''' Protocolo que utilizara para escuchar y hacer la conexion. (TCP o UDP)
    ''' </summary>
    ''' <value>Net.TransportType</value>
    ''' <returns>Net.TransportType</returns>
    Property protocol() As Net.TransportType

    ''' <summary>
    ''' Le indica al Listener que debe comenzar a escuchar el puerto
    ''' </summary>
    Sub startListening()
    ''' <summary>
    ''' Le indica al Listener que debe terminar la escucha de un puerto
    ''' </summary>
    Sub stopListening()

    ''' <summary>
    ''' Evento disparado por la llegada de datos
    ''' </summary>
    Event DataArrived As EventHandler
    ''' <summary>
    ''' Evento disparado por el pedido de conexion
    ''' </summary>
    Event ConnectionRequest As EventHandler
    ''' <summary>
    ''' Evento disparado por el rechazo de la conexion
    ''' </summary>
    Event ConnectionRejected As EventHandler
    ''' <summary>
    ''' Evento disparado por establecerse la conexion
    ''' </summary>
    Event ConnectionAccepted As EventHandler
    ''' <summary>
    ''' Evento disparado por el cierre de la conexion
    ''' </summary>
    Event ConnectionClosed As EventHandler


End Interface
